/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package jogo;

import util.Constantes;

/**
 *
 * @author Pablo
 */
public class Jogada {
    
    private boolean tocou;
    
    private Jogador jogador;
    private Peca peca;
    private int lado;
    
    
    public Jogada() {
        this.tocou = true;
    }
    
    public Jogada(Jogador jogador, Peca peca, int lado) {
        this.jogador = jogador;
        this.peca = peca;
        this.lado = lado;
        this.tocou = false;
    }
    
    public boolean foiToque() {
        return this.tocou;
    }
    
    public Jogador getJogador() {
        return this.jogador;
    }
    
    public Peca getPeca() {
        return this.peca;
    }
    
    public int getLado() {
        return this.lado;
    }
    
    public boolean ehValida(int cabecaDireita, int cabecaEsquerda) {
        if(this.tocou || (this.jogador != null && this.peca != null && ((this.lado == Constantes.PECA_INICIAL) ||
                (this.lado == Constantes.LADO_ESQUERDO && this.peca.encaixa(cabecaEsquerda)) ||
                (this.lado == Constantes.LADO_DIREITO && this.peca.encaixa(cabecaDireita))))) {
            return true;
        }
        return false;
    }    

}
